<template>

    <div class="topnav">
        <router-link to="/" class="logo">

            <svg class="icon" aria-hidden="true">
                <use xlink:href="#icon-yun"></use>
            </svg>
        </router-link>


        <ul class="menu">
            <li>
                <router-link to="/doc/intro">文档</router-link>
            </li>
        </ul>
        <span class="toggleAside" @click="toggleMenu">
            <svg v-if="toggleMenuButtonVisible" class="icon" aria-hidden="true">
                <use xlink:href="#icon-link"></use>
            </svg>
        </span>
    </div>
</template>
<script lang="ts">
import { inject, Ref } from 'vue';

export default {
    props: {
        toggleMenuButtonVisible: {
            type: Boolean,
            default: false
        }
    },
    setup() {
        const menuVisible = inject<Ref<boolean>>('menuVisible')  //get

        const toggleMenu = () => {
            menuVisible.value = !menuVisible?.value
        }
        return { toggleMenu }
    }
}
</script>
<style lang="scss" scoped>
.topnav {

    display: flex;
    padding: 16px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 31;
    justify-content: center;
    align-items: center;

    >.logo {
        max-width: 6em;
        margin-right: auto;

        >.icon {
            width: 42px;
            height: 42px;
        }
    }

    >.menu {
        display: flex;
        white-space: nowrap;
        flex-wrap: nowrap;

        >li {
            margin: 0 1em;
        }
    }

    >.toggleAside {
        >svg {
            width: 24px;
            height: 24px;
        }

        position: absolute;
        left: 16px;
        top: 50%;
        transform: translateY(-50%);
        display: none;

    }

    @media(max-width:500px) {
        >.menu {
            display: none;
        }

        >.logo {
            margin: 0 auto;
        }

        >.toggleAside {
            display: inline-block;
        }

    }
}
</style>